package com.skyline.attraction.service;

import java.util.List;

import com.skyline.attraction.model.Attraction;
import com.skyline.attraction.model.AttractionFeature;
import com.skyline.base.type.Activity;
import com.skyline.common.bean.Page;
import com.skyline.user.model.User;

public interface AttractionFeatureService {
	/**
	 * 
	 * @param feature
	 * @param creator
	 * @return
	 */
	public AttractionFeature addFeature(AttractionFeature feature, Attraction attraction, User creator);

	/**
	 * 管理员/地主可以对特色进行修改
	 * 
	 * @param id
	 * @param title
	 * @param detail
	 * @param consume
	 */
	public void updateFeature(Long id, String title, String detail, Integer consume);

	/**
	 * 修改特色的头像，实际上为特色相册的封面
	 * 
	 * @param id
	 * @param portrait
	 */
	public void updateFeaturePortrait(Long id, String portrait);

	/**
	 * 改变改特色的状态
	 * 
	 * @param id
	 * @param activity
	 */
	public void updateFeatureActivity(Long id, Activity activity);

	/**
	 * 特色评分
	 * 
	 * @param id
	 *            特色ID
	 * @param star
	 *            星级
	 */
	public AttractionFeature votes(Long id, Integer star);

	/**
	 * 查找同一景点所有特色
	 * 
	 * @param attractionId
	 * @param activity
	 * @return
	 */
	public List<AttractionFeature> listFeatureByAttractionId(Long attractionId, Page page);

	/**
	 * 根据ID精确查找
	 * 
	 * @param id
	 * @param activiy
	 * @return
	 */
	public AttractionFeature getFeatureById(Long id);

	
	/**
	 * 查找同一景点所有特色
	 * 
	 * @param attractionId
	 * @param activity
	 * @return
	 */
	public List<AttractionFeature> listSomeFeatureOfAttraction(Long attractionId, Integer size);
}
